package com.hmall.common.config;

import com.hmall.common.interceptor.UserInfoInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 注解@ConditionalOnClass(DispatcherServlet.class):条件性注解
 * 作用：如果项目中能找到DispatcherServlet类，那么当前配置类就生效
 * 说明：DispatcherServlet类，是springMVC框架的核心控制器，我们写的controller类里的方法，实际上是被这个类调用的
 *      只要项目里导入了springMVC框架，就一定有这个类
 *      我们的项目添加的spring-boot-starter-web底层就是springMVC
 */
@Configuration
@ConditionalOnClass(DispatcherServlet.class)
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new UserInfoInterceptor()).addPathPatterns("/**");
    }
}
